package org.examcity.domain;

import java.util.List;

/**
 * Interface for a generic repository, defining the contract for all basic operations.
 * 
 * @param <T> Type of the entity
 * @param <ID> Type of the primary key
 * 
 * @author Antonio Gomes
 */
public interface GenericRespository<T, ID> {

	T find(ID id);

    List<T> findAll();

    void persist(T v);

	T merge(T v);

	void remove(T v);

	void refresh(T v);

	void flush();

}
